#!/bin/python3
#-*- coding: utf-8 -*-
# exp_13.py
# @author 刘秋
# @email lq@aqiu.info
# @description 
# @created 2020-02-18T21:06:11.292Z+08:00
# @last-modified 2020-02-18T21:32:12.320Z+08:00
# 打印出所有的"水仙花数"，所谓"水仙花数"是指一个三位数，其各位数字立方和等于
#  该数本身。例如：153是一个"水仙花数"，因为153=1的三次方＋5的三次方＋3的三次

def sxh(n):
    i,j,k=([int(x) for x in str(n)])
    # pow 次方
    if n==pow(i,3)+pow(j,3)+pow(k,3):
        return True
    else:
        return False
print(list(filter(sxh,range(100,1000))))

for n in range(100,1000):
    i,j,k=([int(x) for x in str(n)])
    if n == i ** 3 + j ** 3 + k ** 3:
        print (n)

# Python3.x 取整为 //，而不是 /
for i in range(100,1000):
    h=i//100
    t=(i-100*h)//10
    s=i-100*h-10*t
    if i==h**3+t**3+s**3:
        print(i)